<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>
    can&#39;t use smtplib to send emails anymore : Forums : PythonAnywhere
</title>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta name="description" content="Forums : PythonAnywhere">
        <meta name="author" content="PythonAnywhere LLP">
        <meta name="google-site-verification" content="O4UxDrfcHjC44jybs2vajc1GgRkTKCTRgVzeV6I9V14" />

        <!-- Le styles -->
        <link href="/static/bootstrap/css/bootstrap.css" rel="stylesheet">
        <link href="/static/bootstrap/css/bootstrap-responsive.css" rel="stylesheet">
        <link href="/static/anywhere/styles/bootstrap_base.css" rel="stylesheet">
        
    
    <link rel="stylesheet" href="/static/anywhere/styles/forums.css" type="text/css" media="screen" charset="utf-8" />

    <link rel="stylesheet" href="/static/pygments/style.css" type="text/css" media="screen" charset="utf-8" />

        <link rel="stylesheet" href="/static/jquery/jquery-ui-1.8.11.custom.css" type="text/css" media="screen" charset="utf-8" />
        
    
    <link rel="alternate" type="application/rss+xml" title="RSS" href="/forums/topic/450/rss" />

        <style type="text/css">
            body {
                height: auto;
            }
        </style>
        <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
        <!--[if lt IE 9]>
        <script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script>
        <![endif]-->

        <!-- Le fav and touch icons -->
        <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
        <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
        <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
    </head>

     <body>
        <div class="navbar navbar-fixed-top">
            <div class="navbar-inner">
                <div id="id_internal_nav_bar_container" class="container">
                    <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    </a>
                    <a class="brand" href="/"><img id="id_logo" src="/static/anywhere/images/logo-234x35.png" height="35" title="PythonAnywhere logo" alt="PythonAnywhere logo" /></a>
                    <div class="nav-collapse">
                        <ul id="id_header_links" class="nav">
                            <li><a id="id_feedback_link" class='feedback_link' href="">Send feedback</a></li>
                            <li><a id="id_forums_link" href="/forums/">Forums</a></li>
                            <li><a href="/wiki/" id="id_help_link">Help</a></li>
                            <li><a href="http://blog.pythonanywhere.com/" id="id_blog_link">Blog</a></li>
                            
                            
                                <li><a style="font-weight: bold;" href="/pricing/" id="id_pricing_link">Pricing & signup</a></li>
                                <li><a href="/login/?next=/forums/topic/450/" id="id_login_link">Log in</a></li>
                            
                        </ul>
                    </div>
                </div>
            </div>
        </div>

        <div class="top-container" id="id_dummy"></div>

        

        
    
    <div class="container">
        <div class="row">
            <div class="span8 offset3">
                <h1>PythonAnywhere Forums</h1>
            </div>
        </div>



    <div class="row">
        <div class="span8 offset3">
            <p>
                <a href="/forums/start_topic/" id="id_start_new_topic">Start a new topic</a> |
                <a href="/forums/">Back to all topics</a> |
                <a href="/forums/topic/450/rss">This topic's RSS</a>
            </p>
        </div>
    </div>
    <div class="row">
        <div class="span8 offset3 topic">
            <h2>can&#39;t use smtplib to send emails anymore</h2>
        </div>
    </div>

    
        <div class="row">
            <div id="id_post_3073" class="span8 offset3 post">
                <div class="row">
                    <div id="id_post_3073_content_text" class="span8">
                        <p>I used to be able to use smtplib to send emails with my program, but it's not connecting to the network anymore. This is the basic code</p>
<div class="codehilite"><pre><span class="kn">import</span> <span class="nn">smtplib</span>
<span class="n">user</span> <span class="o">=</span> <span class="n">mygmail</span><span class="nd">@gmail.com</span>
<span class="n">password</span> <span class="o">=</span> <span class="n">mypassword</span>
<span class="n">smtpserv</span><span class="o">=</span><span class="s">&quot;smtp.gmail.com:587&quot;</span>
<span class="n">mailserver</span><span class="o">=</span><span class="n">smtplib</span><span class="o">.</span><span class="n">SMTP</span><span class="p">(</span><span class="n">smtpserv</span><span class="p">)</span>
<span class="n">mailserver</span><span class="o">.</span><span class="n">starttls</span><span class="p">()</span>
<span class="n">mailserver</span><span class="o">.</span><span class="n">login</span><span class="p">(</span><span class="n">user</span><span class="p">,</span><span class="n">password</span><span class="p">)</span>
<span class="n">mailserver</span><span class="o">.</span><span class="n">sendmail</span><span class="p">(</span><span class="n">user</span><span class="p">,</span><span class="n">tolist</span><span class="p">,</span><span class="n">message</span><span class="p">)</span>
</pre></div>


<p>pythonanywhere breaks it at the mailserver=smtplib.SMTP(smtpserv). This works fine on my computer</p>
<p>This is the error I get:</p>
<div class="codehilite"><pre><span class="o">&gt;&gt;&gt;</span> <span class="n">mailserver</span> <span class="o">=</span> <span class="nx">smtplib.SMTP</span><span class="p">(</span><span class="nx">smtpserv</span><span class="p">)</span>                                                                                                                                                                                                    
<span class="nx">Traceback</span> <span class="p">(</span><span class="nx">most</span> <span class="nx">recent</span> <span class="nb">call</span> <span class="nb">last</span><span class="p">):</span>                                                                                                                                                                                                         
  <span class="nb">File</span> <span class="s2">&quot;&lt;stdin&gt;&quot;</span><span class="p">,</span> <span class="nb">line</span> <span class="mi">1</span><span class="p">,</span> <span class="k">in</span> <span class="o">&lt;</span><span class="nx">module</span><span class="o">&gt;</span>                                                                                                                                                                                                      
  <span class="nb">File</span> <span class="s2">&quot;/usr/local/lib/python3.3/smtplib.py&quot;</span><span class="p">,</span> <span class="nb">line</span> <span class="mi">238</span><span class="p">,</span> <span class="k">in</span> <span class="nx">__init__</span>                                                                                                                                                                        
    <span class="p">(</span><span class="nb">code</span><span class="p">,</span> <span class="nb">msg</span><span class="p">)</span> <span class="o">=</span> <span class="bp">self.</span><span class="nb">connect</span><span class="p">(</span><span class="nb">host</span><span class="p">,</span> <span class="nb">port</span><span class="p">)</span>                                                                                                                                                                                                 
  <span class="nb">File</span> <span class="s2">&quot;/usr/local/lib/python3.3/smtplib.py&quot;</span><span class="p">,</span> <span class="nb">line</span> <span class="mi">317</span><span class="p">,</span> <span class="k">in</span> <span class="nb">connect</span>                                                                                                                                                                         
    <span class="bp">self.</span><span class="nx">sock</span> <span class="o">=</span> <span class="bp">self.</span><span class="nx">_get_socket</span><span class="p">(</span><span class="nb">host</span><span class="p">,</span> <span class="nb">port</span><span class="p">,</span> <span class="bp">self.</span><span class="nx">timeout</span><span class="p">)</span>                                                                                                                                                                                 
  <span class="nb">File</span> <span class="s2">&quot;/usr/local/lib/python3.3/smtplib.py&quot;</span><span class="p">,</span> <span class="nb">line</span> <span class="mi">288</span><span class="p">,</span> <span class="k">in</span> <span class="nx">_get_socket</span>                                                                                                                                                                     
    <span class="bp">self.</span><span class="nx">source_address</span><span class="p">)</span>                                                                                                                                                                                                                   
  <span class="nb">File</span> <span class="s2">&quot;/usr/local/lib/python3.3/socket.py&quot;</span><span class="p">,</span> <span class="nb">line</span> <span class="mi">424</span><span class="p">,</span> <span class="k">in</span> <span class="nx">create_connection</span>                                                                                                                                                                
    <span class="nx">raise</span> <span class="nb">err</span>                                                                                                                                                                                                                              
  <span class="nb">File</span> <span class="s2">&quot;/usr/local/lib/python3.3/socket.py&quot;</span><span class="p">,</span> <span class="nb">line</span> <span class="mi">415</span><span class="p">,</span> <span class="k">in</span> <span class="nx">create_connection</span>                                                                                                                                                                
    <span class="nx">sock.connect</span><span class="p">(</span><span class="nx">sa</span><span class="p">)</span>                                                                                                                                                                                                                       
<span class="nx">OSError</span><span class="p">:</span> <span class="err">[</span><span class="nx">Errno</span> <span class="mi">101</span><span class="cp">]</span> Network is unreachable
</pre></div>
                    </div>
                </div>
                <div class="row">
                    <div class="span7 post_metadata">
                        <span id="id_post_3073_creator_details">
                            
                                
                            
                            aboudaie
                            |
                            6
                            posts
                            |
                            
                        </span>
                        <span id="id_post_3073_created_date">
                            Feb. 3, 2013, 10:25 p.m.
                        </span>
                        |
                        <a href="https://www.pythonanywhere.com/forums/topic/450/#id_post_3073">permalink</a>
                    </div>
                    <div class="span1">
                        
                    </div>
                </div>
            </div>
        </div>
    
        <div class="row">
            <div id="id_post_3074" class="span8 offset3 post">
                <div class="row">
                    <div id="id_post_3074_content_text" class="span8">
                        <p>The problem was fixed when I upgraded but I would still like this to work when I'm not paying</p>
                    </div>
                </div>
                <div class="row">
                    <div class="span7 post_metadata">
                        <span id="id_post_3074_creator_details">
                            
                                
                            
                            aboudaie
                            |
                            6
                            posts
                            |
                            
                        </span>
                        <span id="id_post_3074_created_date">
                            Feb. 4, 2013, 7:20 a.m.
                        </span>
                        |
                        <a href="https://www.pythonanywhere.com/forums/topic/450/#id_post_3074">permalink</a>
                    </div>
                    <div class="span1">
                        
                    </div>
                </div>
            </div>
        </div>
    
        <div class="row">
            <div id="id_post_3089" class="span8 offset3 post">
                <div class="row">
                    <div id="id_post_3089_content_text" class="span8">
                        <p>Looking into this...</p>
                    </div>
                </div>
                <div class="row">
                    <div class="span7 post_metadata">
                        <span id="id_post_3089_creator_details">
                            
                                <img src="/static/anywhere/images/staff.png" alt="Staff" title="Staff"/>
                            
                            harry
                            |
                            376
                            posts
                            |
                            
                                PythonAnywhere staff
                                |
                            
                        </span>
                        <span id="id_post_3089_created_date">
                            Feb. 4, 2013, 4:19 p.m.
                        </span>
                        |
                        <a href="https://www.pythonanywhere.com/forums/topic/450/#id_post_3089">permalink</a>
                    </div>
                    <div class="span1">
                        
                    </div>
                </div>
            </div>
        </div>
    
        <div class="row">
            <div id="id_post_3098" class="span8 offset3 post">
                <div class="row">
                    <div id="id_post_3098_content_text" class="span8">
                        <p>Just a quick note to say that it looks like Harry's found the source of the problem -- he's fixing it now.</p>
                    </div>
                </div>
                <div class="row">
                    <div class="span7 post_metadata">
                        <span id="id_post_3098_creator_details">
                            
                                <img src="/static/anywhere/images/staff.png" alt="Staff" title="Staff"/>
                            
                            giles
                            |
                            866
                            posts
                            |
                            
                                PythonAnywhere staff
                                |
                            
                        </span>
                        <span id="id_post_3098_created_date">
                            Feb. 5, 2013, 12:17 p.m.
                        </span>
                        |
                        <a href="https://www.pythonanywhere.com/forums/topic/450/#id_post_3098">permalink</a>
                    </div>
                    <div class="span1">
                        
                    </div>
                </div>
            </div>
        </div>
    
        <div class="row">
            <div id="id_post_3099" class="span8 offset3 post">
                <div class="row">
                    <div id="id_post_3099_content_text" class="span8">
                        <p>OK, I think I've figured out what happened.  We only whitelist 1 of google's SMTP servers, but they round-robin around several, so when that changes, our iptables rule is out of date.</p>
<p>We'll see if we can't figure out a long-term solution...</p>
                    </div>
                </div>
                <div class="row">
                    <div class="span7 post_metadata">
                        <span id="id_post_3099_creator_details">
                            
                                <img src="/static/anywhere/images/staff.png" alt="Staff" title="Staff"/>
                            
                            harry
                            |
                            376
                            posts
                            |
                            
                                PythonAnywhere staff
                                |
                            
                        </span>
                        <span id="id_post_3099_created_date">
                            Feb. 5, 2013, 12:18 p.m.
                        </span>
                        |
                        <a href="https://www.pythonanywhere.com/forums/topic/450/#id_post_3099">permalink</a>
                    </div>
                    <div class="span1">
                        
                    </div>
                </div>
            </div>
        </div>
    
        <div class="row">
            <div id="id_post_3102" class="span8 offset3 post">
                <div class="row">
                    <div id="id_post_3102_content_text" class="span8">
                        <p>Yes, this seems to cause a lot of people problems. Using multi-A records in DNS for load-balancing and fault tolerance is a brilliant idea (at my previous employer we used it extensively), but it does tend to cause all sorts of complications for clients which aren't written with it in mind.</p>
<p>For example, everyone should be using <a href="http://www.kernel.org/doc/man-pages/online/pages/man3/getaddrinfo.3.html"><code>getaddrinfo()</code></a> to do DNS lookups these days (because it supports multiple records and IPv6), but lots of people still fall back on the obsolete <a href="http://www.kernel.org/doc/man-pages/online/pages/man3/gethostbyname.3.html"><code>gethostbyname()</code></a>. Even when people use the correct function, many of them write code which blindly connects to the first applicable result and bombs out with an error if it fails (instead of the more robust behaviour of trying each address in turn with a suitably short timeout until a connection is successfully established).</p>
<p>Anyway, as a short-term workaround you could fairly easily write some Python code which does a DNS lookup of your whitelist hosts (with <code>getaddrinfo()</code>) and yields the resultant IP addresses. You could render this into a script suitable for <code>iptables-restore</code> (with the <code>-n</code> option to avoid flushing old rules) so that you can apply an atomic update which removes the old rules and adds the new ones. If you're cunning about it you can diff the old and new sets so you only need to apply an update if there are any changes - adding comments to rules (with <code>--comment</code>) might make it easier to group the rules into those which originated from a given whitelisted hostname, or you could just keep an offline record and rely on nothing else screwing with the rules in the meantime.</p>
<p>See <a href="http://www.semicomplete.com/blog/geekery/atomic-iptables-changes-and-not-dropping-packets.html">this blog post</a> for more details of doing atomic <code>iptables</code> updates.</p>
<p>Instead of <code>getaddrinfo()</code> you could instead do a raw DNS lookup (either with <a href="http://www.dnspython.org/">dnspython</a> or <code>subprocess</code> and <code>host -a</code>) and then you'd get hostnames instead of IP addresses. Personally I like to set up <code>iptables</code> rules with IP addresses, however, because it removes some of the unknowns from the equation when you're tracking down problems (such as the fact that the hostname is, as far as I'm aware, only re-resolved when the rules are reloaded).</p>
<p><strong>EDIT</strong></p>
<p>Re-reading that I should probably point out that when I use phrases like "fairly easily", that means <em>fairly easy in principle</em> as opposed to <em>this'll take you 5 minutes</em>. I wouldn't want anybody to think I was trivialising the effort involved, although I'd be quite surprised if it was more than a day's work to get a basic solution going - depends the difficulty of updating <code>iptables</code> rules on all the machines, among other things. Of course, that's a day that could be spent doing any number of other funky things. (^_^)</p>
                    </div>
                </div>
                <div class="row">
                    <div class="span7 post_metadata">
                        <span id="id_post_3102_creator_details">
                            
                                
                                    <img src="/static/anywhere/images/star.gif" alt="Beloved premium user" title="Beloved premium user"/>
                                
                            
                            Cartroo
                            |
                            638
                            posts
                            |
                            
                        </span>
                        <span id="id_post_3102_created_date">
                            Feb. 5, 2013, 12:41 p.m.
                        </span>
                        |
                        <a href="https://www.pythonanywhere.com/forums/topic/450/#id_post_3102">permalink</a>
                    </div>
                    <div class="span1">
                        
                    </div>
                </div>
            </div>
        </div>
    
        <div class="row">
            <div id="id_post_3105" class="span8 offset3 post">
                <div class="row">
                    <div id="id_post_3105_content_text" class="span8">
                        <p>Exactly!  The problem is that iptables configuration rules only take IP addresses; you can specify a host by name in the command, but it's resolved when you run it and the stuff stored in the iptables database only has the IP address.  This makes perfect sense, of course -- every packet going into and out of the system is going to be matched against one or more iptables rules, and the last thing you want is a DNS lookup for every packet...</p>
<p>So what we think we could do is a script that ran periodically on every machine in the cluster that runs our users' code, and find out if the IP we're seeing for Google's SMTP servers is in the iptables whitelist, and add it if not.  Which is definitely doable, but possibly a bit fiddly.</p>
                    </div>
                </div>
                <div class="row">
                    <div class="span7 post_metadata">
                        <span id="id_post_3105_creator_details">
                            
                                <img src="/static/anywhere/images/staff.png" alt="Staff" title="Staff"/>
                            
                            giles
                            |
                            866
                            posts
                            |
                            
                                PythonAnywhere staff
                                |
                            
                        </span>
                        <span id="id_post_3105_created_date">
                            Feb. 5, 2013, 5:25 p.m.
                        </span>
                        |
                        <a href="https://www.pythonanywhere.com/forums/topic/450/#id_post_3105">permalink</a>
                    </div>
                    <div class="span1">
                        
                    </div>
                </div>
            </div>
        </div>
    
        <div class="row">
            <div id="id_post_3281" class="span8 offset3 post">
                <div class="row">
                    <div id="id_post_3281_content_text" class="span8">
                        <p>Have there been any updates to this issue? I've just started a project and I'm seeing this same error.
When I send mail through gmail I get a socket exception '[Errno 101] Network is unreachable'.</p>
<p>I only see this problem sometimes. For 10-30 minutes, mail will work perfectly fine every time, and then I'll hit a period or 10-30 minutes when no emails will go through whatsoever. </p>
<p>I'm new to a lot of this, so I don't know if this should help, but I tried iterating through all the IP addresses returned by getaddrinfo, so rather than calling:<br />
session = smtplib.SMTP( 'smtp.gmail.com', 587)</p>
<p>I tried something to the effect of:
for addr_info in socket.getaddrinfo ( 'smtp.gmail.com', 587):
  session = smtplib.SMTP( addr_info[4][0], 587 )</p>
<p>Unfortunately, this doesn't seem to fix the issue. It just takes a bit longer to fail now.</p>
<p>Any hope to get this working?</p>
                    </div>
                </div>
                <div class="row">
                    <div class="span7 post_metadata">
                        <span id="id_post_3281_creator_details">
                            
                                
                            
                            bccbrendan
                            |
                            1
                            post
                            |
                            
                        </span>
                        <span id="id_post_3281_created_date">
                            Feb. 20, 2013, 1:42 a.m.
                        </span>
                        |
                        <a href="https://www.pythonanywhere.com/forums/topic/450/#id_post_3281">permalink</a>
                    </div>
                    <div class="span1">
                        
                    </div>
                </div>
            </div>
        </div>
    
        <div class="row">
            <div id="id_post_3287" class="span8 offset3 post">
                <div class="row">
                    <div id="id_post_3287_content_text" class="span8">
                        <p>@bccbrendan: Welcome to PythonAnywhere (PA)...☺</p>
                    </div>
                </div>
                <div class="row">
                    <div class="span7 post_metadata">
                        <span id="id_post_3287_creator_details">
                            
                                
                                    <img src="/static/anywhere/images/star.gif" alt="Beloved premium user" title="Beloved premium user"/>
                                
                            
                            a2j
                            |
                            549
                            posts
                            |
                            
                        </span>
                        <span id="id_post_3287_created_date">
                            Feb. 20, 2013, 6:13 a.m.
                        </span>
                        |
                        <a href="https://www.pythonanywhere.com/forums/topic/450/#id_post_3287">permalink</a>
                    </div>
                    <div class="span1">
                        
                    </div>
                </div>
            </div>
        </div>
    
        <div class="row">
            <div id="id_post_3291" class="span8 offset3 post">
                <div class="row">
                    <div id="id_post_3291_content_text" class="span8">
                        <p>Hi bccbrendan, </p>
<p>Giles explanation still stands. We haven't scheduled any time to get this fixed right now. Like he said, it would be fiddly. You could always upgrade to Hacker account and bypass the firewall entirely...</p>
                    </div>
                </div>
                <div class="row">
                    <div class="span7 post_metadata">
                        <span id="id_post_3291_creator_details">
                            
                                <img src="/static/anywhere/images/staff.png" alt="Staff" title="Staff"/>
                            
                            hansel
                            |
                            435
                            posts
                            |
                            
                                PythonAnywhere staff
                                |
                            
                        </span>
                        <span id="id_post_3291_created_date">
                            Feb. 20, 2013, 12:45 p.m.
                        </span>
                        |
                        <a href="https://www.pythonanywhere.com/forums/topic/450/#id_post_3291">permalink</a>
                    </div>
                    <div class="span1">
                        
                    </div>
                </div>
            </div>
        </div>
    
        <div class="row">
            <div id="id_post_3455" class="span8 offset3 post">
                <div class="row">
                    <div id="id_post_3455_content_text" class="span8">
                        <p>Hi everyone,</p>
<p>I'm very new in webdev (iptables what?) and I've been loving pythonanywhere for testing my app and slowly getting to know
how things work. I want to test if my django app's registration/password change etc routines work and so I've been trying to configure 
email sending (I get the error: [Errno 101] Network is unreachable), which brought me against a big wall of "I have no idea what these guys are talking about' as I've been reading through the threads about this issue.</p>
<p>Can someone please explain, or point me towards the right direction, about how to (hopefully quickly) manage to  send emails through my django app in PA?  Is it even worth the trouble? Im not going to stay behind this firewall forever so I don't want to spend too much time for a simple test.. Maybe I should set up apache in my local machine and test it there?</p>
<p>In Cartroo's post, I can follow up until this point "You could render this into a script suitable for iptables-restore (with the -n option to avoid flushing old rules) so that you can apply an atomic update which removes the old rules and adds the new ones"
Ok, I get a list of whitelisted IPS, but then I don't get what I'm supposed to do with them.</p>
                    </div>
                </div>
                <div class="row">
                    <div class="span7 post_metadata">
                        <span id="id_post_3455_creator_details">
                            
                                
                            
                            fifnir
                            |
                            1
                            post
                            |
                            
                        </span>
                        <span id="id_post_3455_created_date">
                            Feb. 28, 2013, 1:59 p.m.
                        </span>
                        |
                        <a href="https://www.pythonanywhere.com/forums/topic/450/#id_post_3455">permalink</a>
                    </div>
                    <div class="span1">
                        
                    </div>
                </div>
            </div>
        </div>
    
        <div class="row">
            <div id="id_post_3460" class="span8 offset3 post">
                <div class="row">
                    <div id="id_post_3460_content_text" class="span8">
                        <p>Hi fifnir, </p>
<p>What server are you trying to use to send your email? The gmail smtp? Something else? On the other hand if you just want to test that it will work with unrestricted internet access then drop us a line at support@pythonanywhere.com and I might be able to help you out...</p>
                    </div>
                </div>
                <div class="row">
                    <div class="span7 post_metadata">
                        <span id="id_post_3460_creator_details">
                            
                                <img src="/static/anywhere/images/staff.png" alt="Staff" title="Staff"/>
                            
                            hansel
                            |
                            435
                            posts
                            |
                            
                                PythonAnywhere staff
                                |
                            
                        </span>
                        <span id="id_post_3460_created_date">
                            Feb. 28, 2013, 3:54 p.m.
                        </span>
                        |
                        <a href="https://www.pythonanywhere.com/forums/topic/450/#id_post_3460">permalink</a>
                    </div>
                    <div class="span1">
                        
                    </div>
                </div>
            </div>
        </div>
    
        <div class="row">
            <div id="id_post_5944" class="span8 offset3 post">
                <div class="row">
                    <div id="id_post_5944_content_text" class="span8">
                        <p>We are already August. Did you guys manage to fix this problem? </p>
                    </div>
                </div>
                <div class="row">
                    <div class="span7 post_metadata">
                        <span id="id_post_5944_creator_details">
                            
                                
                            
                            stocksolutions
                            |
                            3
                            posts
                            |
                            
                        </span>
                        <span id="id_post_5944_created_date">
                            Aug. 17, 2013, 11:02 a.m.
                        </span>
                        |
                        <a href="https://www.pythonanywhere.com/forums/topic/450/#id_post_5944">permalink</a>
                    </div>
                    <div class="span1">
                        
                    </div>
                </div>
            </div>
        </div>
    
        <div class="row">
            <div id="id_post_5956" class="span8 offset3 post">
                <div class="row">
                    <div id="id_post_5956_content_text" class="span8">
                        <p>If you are having a problem connecting to gmail's smtp servers you can try upgrading your account. We poke holes in our firewall for Google's SMTP servers as a courtesy to free users but Google is so large and uses round robin DNS so we can't always guarantee that we've opened up the right IP addresses. </p>
                    </div>
                </div>
                <div class="row">
                    <div class="span7 post_metadata">
                        <span id="id_post_5956_creator_details">
                            
                                <img src="/static/anywhere/images/staff.png" alt="Staff" title="Staff"/>
                            
                            hansel
                            |
                            435
                            posts
                            |
                            
                                PythonAnywhere staff
                                |
                            
                        </span>
                        <span id="id_post_5956_created_date">
                            Aug. 18, 2013, 8:40 a.m.
                        </span>
                        |
                        <a href="https://www.pythonanywhere.com/forums/topic/450/#id_post_5956">permalink</a>
                    </div>
                    <div class="span1">
                        
                    </div>
                </div>
            </div>
        </div>
    

    




        <div id="id_footer" class="container">

            <footer id="id_copyright_div">
                <p>
                    Copyright &copy; 2013 PythonAnywhere LLP
                    &mdash;
                    <a href="/terms/">Terms</a>
                    &mdash;
                    <a href="/privacy/">Privacy</a><br/>
                    "Python" is a registered trademark of the Python Software Foundation.
                </p>
            </footer>

        </div>

        
        

        <div id="id_feedback_dialog" title="Help us improve" style="display:none">
    <div id="id_feedback_dialog_blurb_big" class="dialog_blurb_big">
        It's always a pleasure to hear from you!
    </div>
    <div id="id_feedback_dialog_blurb_small">
        Ask us a question, or tell us what you love or hate about PythonAnywhere.<br/>
        We'll get back to you over email ASAP.
    </div>
    <textarea id="id_feedback_dialog_text" rows="6"></textarea>
    <input id="id_feedback_dialog_email_address" type="text" class="default_prompt"/>
    <div id="id_feedback_dialog_error" class="pa_hidden">
        Sorry, there was an error connecting to the server. <br/>Please try again in a few moments...
    </div>
    <div class="dialog_buttons">
        <img id="id_feedback_dialog_spinner" src="/static/anywhere/images/spinner-small.gif" />
        <button class="btn btn-primary" id="id_feedback_dialog_ok_button">OK</button>
        <button class="btn" id="id_feedback_dialog_cancel_button">Cancel</button>
    </div>
</div>


        <!-- Le javascript
        ================================================== -->
        <!-- Placed at the end of the document so the pages load faster -->
        <script type="text/javascript" src="/static/jquery/jquery-1.7.1.min.js"></script>
        <script type="text/javascript" src="/static/jquery/jquery-ui-1.8.11.custom.min.js"></script>
        <script src="/static/bootstrap/js/bootstrap-transition.js"></script>
        <script src="/static/bootstrap/js/bootstrap-alert.js"></script>
        <script src="/static/bootstrap/js/bootstrap-modal.js"></script>
        <script src="/static/bootstrap/js/bootstrap-dropdown.js"></script>
        <script src="/static/bootstrap/js/bootstrap-scrollspy.js"></script>
        <script src="/static/bootstrap/js/bootstrap-tab.js"></script>
        <script src="/static/bootstrap/js/bootstrap-tooltip.js"></script>
        <script src="/static/bootstrap/js/bootstrap-popover.js"></script>
        <script src="/static/bootstrap/js/bootstrap-button.js"></script>
        <script src="/static/bootstrap/js/bootstrap-collapse.js"></script>
        <script src="/static/bootstrap/js/bootstrap-carousel.js"></script>
        <script src="/static/bootstrap/js/bootstrap-typeahead.js"></script>

        <script type="text/javascript">
            var urls = {};
            var Anywhere = {};
            Anywhere.urls = {};
        </script>
        <script type="text/javascript" src="/static/anywhere/scripts/ajax_utils.js"></script>

        <script type="text/javascript" src="/static/anywhere/scripts/feedback_dialog.js"></script>
        
        <script type="text/javascript">
            $(function() {
                $.extend(
                    urls,
                    {
                        feedback: '/feedback/submit/'
                    }
                );
                
                    Anywhere.FeedbackDialog.Initialise(urls, true);
                
            });
        </script>

        <script type="text/javascript">

            var _gaq = _gaq || [];
            _gaq.push(['_setAccount', 'UA-18014859-6']);
            _gaq.push(['_trackPageview']);

            (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
            })();

        </script>

        



    </body>
</html>
